nightly:
extends: '.publish_nightly'
+distinfo:
+ stage: deploy
+ needs:
+ - build
+ script:
+ - .gitlab-ci/export-artifact-path build > dist.env
+ artifacts:
+ reports:
+ dotenv: dist.env
+ paths:
+ - build
+ - mutter
+ - subprojects/jasmine-gjs
+ - dist.env
+ rules:
+ - if: '$CI_COMMIT_TAG'
+
dist:
variables:
XDG_RUNTIME_DIR: "$CI_PROJECT_DIR/runtime-dir"
- "**/meson.build"
- meson/*
-
dist-tarball:
extends: dist
+ needs:
+ - distinfo
artifacts:
expose_as: 'Get tarball here'
paths:
- - build/meson-dist/$CI_PROJECT_NAME-$CI_COMMIT_TAG.tar.xz
+ - $TARBALL_ARTIFACT_PATH
+ reports:
+ dotenv: dist.env
rules:
- if: '$CI_COMMIT_TAG'
--- /dev/null
+#!/usr/bin/gjs -m
+// SPDX-FileCopyrightText: 2024 Florian Müllner <fmuellner@gnome.org>
+//
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+import Gio from 'gi://Gio';
+import {programArgs, programInvocationName, exit} from 'system';
+
+const [buildDir] = programArgs;
+if (!buildDir) {
+ printerr(`usage: ${programInvocationName} <build-dir>`);
+ exit(1);
+}
+
+const subprocess = Gio.Subprocess.new(
+ ['meson', 'introspect', '--projectinfo', buildDir],
+ Gio.SubprocessFlags.STDOUT_PIPE);
+const [, out] = subprocess.communicate_utf8(null, null);
+
+const {descriptive_name, version} = JSON.parse(out);
+print(`TARBALL_ARTIFACT_PATH=${buildDir}/meson-dist/${descriptive_name}-${version}.tar.xz`);